# 计算PI的值

import random
import time

def main():
    # 落在总点数
    f = 0
    # 落在内接圆的点数
    o = 0
    # 落点

    # 测试100万次
    i = 1
    while(i):
        # 落点的坐标
        x = random.uniform(-1,1)
        y = random.uniform(-1,1)
        # 计算点到原点距离
        s = x**2 + y**2
        # 距离小于半径，在圆内
        if s < 1 :
            o = o + 1
        # 若刚好在圆上，则只取 (x>0) or (x=0,y>0) 的点算作在圆上
        elif s == 1:
            if (x > 0) or (x == 0 and y > 0):
                o = o + 1
        f = f + 1
        
        PI = 4*o/f
        print('\r i = %d \t (%s,%s) \t (%d,%d) \t PI = %s' % (i,x,y,o,f,PI), end = '\t', flush = True)
        i = i + 1

if __name__ == "__main__":
    main()